﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Entidades;
using System.Data.SqlClient;


namespace AccesoBD
{
   public class HistorialesDeIngreso
    {
       //public static int registrarAltaHistoriaDeIngreso(DateTime fechaActual) 
       //{
       //    SqlConnection con = null;
       //    SqlTransaction tran = null;
       //    int resultado=0;
       //    try
       //    {
       //        con = DB.Conectar();
       //        tran = con.BeginTransaction();

       //        string comando = "insert into Historial_Ingreso(fechaAlta)values(@fechaAlta) ";
       //        List<SqlParameter> listp = new List<SqlParameter>();
       //        listp.Add(new SqlParameter("@fechaAlta", fechaActual));
       //        resultado = DB.EjecutarCommand(comando, listp, con, tran);

       //        if (resultado>0)
       //        {
       //            tran.Commit();
       //        }

       //    }
       //    catch (Exception)
       //    {
       //        if (tran!=null)
       //        {
       //            tran.Rollback();
       //        }
       //        throw new Exception("No se pudo registrar el historial de ingreso");
       //    }
       //    finally 
       //    {
       //        con.Close();
       //    }
       //    return resultado;
       //}
       //public static long ObtenerUltimoIdHistorialIngreso(SqlConnection con, SqlTransaction tran)
       //{
       //    long  nroHI = 0;
       //    try
       //    {
         
       //        string comando = "Select Max(idHistorialIngreso)  from Historial_Ingreso ";
       //        List<SqlParameter> listp=new List<SqlParameter>();
       //        SqlCommand cqlcmd = new SqlCommand(comando, con);
       //        //bool res = long.TryParse(cqlcmd.ExecuteScalar().ToString(), out nroHI);
       //        //if (!res)
       //        //    nroHI = null;
       //        ////string escalar=DB.EjecutarScalar(comando,listp,contran);
       //        //if (!)
       //        //{
       //        //   nroHI=long.Parse(escalar.ToString()); 
       //        //}

       //    }
       //    catch (Exception)
       //    {

       //        throw new Exception("No se pudo Obtener el numero de historial de ingreso");
       //    }

       //    return nroHI;
       //}

       public void registrarAltaHistoriaDeIngreso(DateTime fechaActual)
       {
           SqlConnection con = null;

           try
           {
               con = DB.Conectar();


               string comando = "INSERT INTO Historial_Ingreso (fechaAlta) VALUES (@fechaAlta) ";

               List<SqlParameter> listp = new List<SqlParameter>();
               listp.Add(new SqlParameter("@fechaAlta", fechaActual));
               DB.EjecutarCommand(comando, listp, con);



           }
           catch (Exception)
           {
               throw new Exception("No se pudo registrar el historial de ingreso");
           }
           finally
           {
               con.Close();
           }

       }

       public int ObtenerUltimoIdHistorialIngreso()
       {
           int id = 0;
           SqlConnection con = new SqlConnection();
           try
           {

               string comando = "SELECT MAX(idHistorialIngreso) FROM Historial_Ingreso ";
               //List<SqlParameter> listp=new List<SqlParameter>();
               SqlCommand cqlcmd = new SqlCommand(comando, con);
               SqlDataReader dr = cqlcmd.ExecuteReader();

               while (dr.Read())
               {
                   id = int.Parse(dr["idHistorialIngreso"].ToString());
               }
               //bool res = int.TryParse(cqlcmd.ExecuteScalar().ToString(), out nroHI);
               //if (!res)
               //    nroHI = null;
               //string escalar=DB.EjecutarScalar(comando,listp,contran);
               //if (!)
               //{
               //   nroHI=long.Parse(escalar.ToString()); 
               //}

               return id;
           }
           catch (Exception)
           {

               throw new Exception("No se pudo Obtener el numero de historial de ingreso");
           }
       }
    }
}
